package org.dromara.common.core.enums

import org.dromara.common.core.utils.StringUtils

/**
 * 用户类型
 *
 * @author Lion Li
 * @updater LikeYouDo
 * @date 2025/1/10 11:08
 */
enum class UserType(
    /**
     * 用户类型标识（用于 token、权限识别等）
     */
    val userType: String
) {
    /**
     * 后台系统用户
     */
    SYS_USER("sys_user"),

    /**
     * 移动客户端用户
     */
    APP_USER("app_user");

    companion object {
        @JvmStatic
        fun getUserType(str: String?): UserType {
            for (value in entries) {
                if (StringUtils.contains(str, value.userType)) {
                    return value
                }
            }
            throw RuntimeException("'UserType' not found By $str")
        }
    }
}
